1. Field of the Invention
The present invention relates to a communication control device used in a communication station such as a bridge station connecting with Local Area Networks (LANs), a file server handling a large volume of data, or the like, for which an extremely high communication performance is required, and, in particular, to a communication control device which is made up of a plurality of communication means, to each of which an identical physical address (or an identical station address) is provided to spread the frame reception load, and in addition wherein it is possible for a high rank protocol processor to receive frames in the sequence received from a network so that the reception performance thereof is improved.
2. Description of the Prior Art
In a LAN communication control device, various Large Scale Integrations (LSIs) are designated for controlling a MAC (Medium Access Control) layer which is standardized by IEEE802 standard.
The system configuration for a conventional communication control device is made up of three major structural elements, as shown in FIG. 1. A processor 101 is a processor for executing high rank protocols of an LLC (Logical Link Control) layer or higher. A conventional communication controller 103 as a communication means is a device for executing protocols of a MAC layer or lower. A common memory 102 is a memory shared between the processor 101 and the conventional communication controller 103. Data received by the communication controller 103 is first written into the shared memory 102, then the host computer subsequently reads out the data in the shared memory 102 and proceeds with the protocol processing.
With conventional LSIs for communication control a data structure as shown in FIG. 2 is constructed in the shared memory 102 and the communication data (hereinafter referred to as a frame) is stored in this structure so that the processor 101 can easily process the data.
This structure of the conventional communication controller 103 will now be explained in detail.
FIG. 2A shows the structure of a frame buffer FB used for storing communication data. The frame buffer FB has a data region 205, a data region head address 202, a data length 203 for the data stored in the data region, and link data 201 showing the address of the next frame buffer FB, and the like. The data which makes up the frame is divided up and stored in the data region 205, therefore one frame is managed by listing and joining together a plurality of frame buffers FB.
FIG. 2B shows the structure of a frame descriptor FD used for controlling a frame. The frame descriptor FD is made up of addresses 212 and 213 of a head frame buffer FB and a last frame buffer FB in the list of frame buffers FB, a frame length 214, a control code 215 for controlling status and the like, and link data 211 showing an address for the next frame descriptor FD.
FIG. 2C shows an example when one frame is divided up and stored in three frame buffers FB, while FIG. 2D shows an example when frames of three different lengths are linked.
In this manner, because frames transferred from a network are converted to various data structure and stored in the shared memory 102, various types of processes must be carried out when a frame is received by the communication controller 103, for example, as proposed in "communication control device" (Japanese Patent Application Number: 3-4001).
However, when the communication speed of a LAN becomes increasingly higher and the time required to transfer one frame becomes shorter than the execution processing time of the communication controller 103, when frames are received continuously from the network, the reception processing is not carried out by the communication controller 103 in time so that the reception of all frames is not possible.
In particular, in a bridge station or a server station, the frames from many communication stations (hereinafter referred to as nodes, in particular, including bridge stations and server stations unless otherwise excluded) are concentrated. In the case where some frames are not received, these frames must be transferred repeatedly from the nodes. This extra retransmission waste the communication capacity of the network, and becomes a hindrance to other normal communication, or, until the decision is made for retransmission, some time elapses therefore the communication is delayed.
For this reason, even when a high speed LAN is used, the user's actual communication speed is not so improved as user expect. Accordingly, even when frames are input continuously to nodes or stations in which frame reception is concentrated, this must be done so that reception is possible.
As countermeasures for such problems in the conventional communication controller, it has been suggested that a plurality of communication controllers be installed in these nodes to spread the communication load. Normally the identical physical address cannot be provided for a plurality of communication controllers installed in one LAN, unique physical addresses must be provided for the respective controllers. Accordingly, a server station must have a plurality of physical addresses, and a transmission station must select a destination address for a frame so that it is possible to spread the communication load on the server exchange.
A frame from a network is processed in these communication controllers concurrently, and it is duplicated, because there is no relationship among communication controllers installed in a server station when these communication controllers has the identical physical addresses. In this case, the processor 101 further includes means having a function which do not process duplicated frames overlappedly. It is difficult in construction to make a data communication system including the processor having the function prescribed above.
Further, in one communication means with the previously outlined frame descriptor FD structure, even though the received frames should be controlled in the sequence received, in the case where a plurality of communication controllers are easily arranged in parallel, there is no means which manages the reception sequence of the frames at reciprocal intervals, therefore the frames are out of sequence and cannot be processed correctly by the processor 101.
Normally, frames which are not received in the correct sequence are discarded, therefore when substitutions are made in the sequence all communication is ineffective. Accordingly, it is absolutely essential to maintain the reception sequence.
As outlined above, with a conventional communication control device after the reception of a frame is completed the status is prepared and it is transferred to the host computer, a certain time in which the communication control device cannot respond to other frame is required for processing.
For this reason, when short frames in data length are input into the conventional communication control device disregards them, some frames is not correctly received. When this occurs at a bridge station, there is the problem that the efficiency of the entire system drops.